#include<stdio.h>
#include<windows.h>
#include<conio.h>

int high,width; 
int position_x,position_y; //位置
int bullet_x,bullet_y; //子弹位置
int enemy_x,enemy_y;//敌机位置
int score;//得分
int flag; //状态
void gotoxy(int x,int y) //光标移动到(x,y)位置
{
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);//从一个特定的标准设备中取得一个句柄
    COORD pos;//表示一个字符在控制台屏幕上的坐标
    pos.X = x;
    pos.Y = y;
    SetConsoleCursorPosition(handle,pos);
}
void HideCursor() // 用于隐藏光标
{
    CONSOLE_CURSOR_INFO cursor_info = {1, 0}; // 第二个值为0表示隐藏光标
    SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}

void startup() //数据初始化
{
    high=18;
    width=30;

    position_x=high-3;
    position_y=width/2;

    bullet_x=0;
    bullet_y=position_y;

    enemy_x=0;
    enemy_y=position_y;

    score=0;

    flag=0; //完好

    HideCursor();//隐藏光标
}
void show() //显示界面
{
    int i,j;
    for(i=0;i<high;i++)
    {
        for(j=0;j<width;j++)
        {
            if(flag)
                break;

            else if((i==position_x)&&(j==position_y)) //坐标
                    printf("*");
            else if((i==enemy_x)&&(j==enemy_y)) //敌机坐标
                printf("*");
            else if((i==bullet_x)&&(j==bullet_y)) //子弹坐标
                printf("|");
            else if ((j==width-1)||(i==high-1)||(j==0)||(i==0)) //打印边界
                printf("#");
            else
                printf(" ");
        }
        printf("\n");
    }